Method and system for automated personal training

ABSTRACT

Example embodiments may relate to a system, method, apparatus, and computer readable media configured for monitoring a user performing an exercise and generating a avatar of the user and a virtual shadow, wherein the virtual shadow illustrates proper form of the exercise. The example embodiments may further be configured for determining an amount of overlap between the virtual avatar and the virtual shadow, and generating a feedback score based on the amount of overlap.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/290,359, filed Nov. 7, 2011, which claims the benefit of, andpriority to, U.S. Provisional Patent Application Nos. 61/410,777 filedNov. 5, 2010, 61/417,102 filed Nov. 24, 2010, 61/422,511 filed Dec. 13,2010, 61/432,472 filed Jan. 13, 2011, and 61/433,792 filed Jan. 18,2011, each of which is entitled “Method and System for AutomatedPersonal Training.” The content of each of these applications isexpressly incorporated herein by reference in its entirety for any andall non-limiting purposes.

BACKGROUND

While most people appreciate the importance of physical fitness, manyhave difficulty finding the motivation required to maintain a regularexercise program. Some people find it particularly difficult to maintainan exercise regimen that involves continuously repetitive motions, suchas running, walking and bicycling.

Additionally, individuals may view exercise as work or a chore and thus,separate it from enjoyable aspects of their daily lives. Often, thisseparation between athletic activity and other activities reduces theamount of motivation that an individual might have toward exercising.Further, athletic activity services and systems directed towardencouraging individuals to engage in athletic activities might also betoo focused on one or more particular activities while an individual'sinterests are ignored. This may further decrease a user's interest inparticipating in athletic activities or using the athletic activityservices and systems.

Therefore, improved systems and methods to address these and othershortcomings in the art are desired.

BRIEF SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosure. The summary is not anextensive overview of the disclosure. It is neither intended to identifykey or critical elements of the disclosure nor to delineate the scope ofthe disclosure. The following summary merely presents some concepts ofthe disclosure in a simplified form as a prelude to the descriptionbelow.

Aspects of this disclosure relate to motivating individuals to obtain ormaintain a threshold level of physical activity. Certain implementationsmay motivate individuals to participate in a regular exercise program.In one embodiment, feedback may facilitate individuals observing one ormore benefits associated with physical activity. By realizing benefitsassociated with their activities, users may be encouraged to continueexercising, such as through participation in one or more regularactivities.

Example embodiments may relate to a system, method, apparatus, andcomputer readable media configured for monitoring a user performing anexercise and generating a representation of a user and a virtual shadow.According to one implementation, the virtual shadow may illustrate aproper form (or any specific form) of the exercise. The exampleembodiments may further be configured for determining an amount ofoverlap between the user representation and the virtual shadow, andgenerating a feedback score based on the amount of overlap.

These and other aspects of the embodiments are discussed in greaterdetail throughout this disclosure, including the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example and not limitedin the accompanying figures in which like reference numerals indicatesimilar elements and in which:

FIGS. 1A-B illustrate an example of a system for providing personaltraining in accordance with example embodiments, wherein FIG. 1Aillustrates an example network configured to monitor athletic activity,and FIG. 1B illustrates an example computing device in accordance withexample embodiments.

FIGS. 2A-B illustrate example sensor assemblies that may be worn by auser in accordance with example embodiments.

FIG. 3 illustrates an example flow diagram of a method for providing auser with feedback while exercising, in accordance with exampleembodiments.

FIG. 4 illustrates example points on a user's body to monitor inaccordance with example embodiments.

FIG. 5 illustrates an example posture assessment in accordance withexample embodiments.

FIGS. 6-7 illustrate example displays of a virtual trainer instructing auser on how to perform an exercise in accordance with exampleembodiments.

FIGS. 8, 9, and 10A-10B illustrate example displays of a user avatarperforming an exercise in accordance with example embodiments.

FIGS. 11-12 illustrate example displays each including a virtual shadowfor a user avatar in accordance with example embodiments.

FIGS. 13A-13B illustrate example locations of virtual shadows for a useravatar in accordance with example embodiments.

FIG. 14 illustrates an example display of image subsections fordetermining an amount of overlap between a user avatar and a virtualshadow in accordance with example embodiments.

FIG. 15 illustrates an example display of a user avatar having amagnified inset view providing feedback on improper form whileperforming an exercise in accordance with example embodiments.

FIGS. 16A-16B illustrate example displays for depicting a user avatarrelative to a virtual shadow for detecting improper form and providingfeedback to a user in accordance with example embodiments.

FIG. 17 illustrates an example of onion skinning on an image of a userin accordance with example embodiments.

FIG. 18 illustrates an example flow diagram of a method for providingvirtual competition in a virtual environment between multiple virtualavatars, in accordance with one or more example embodiments.

FIG. 19 illustrates multiple avatars, each having a shadow, competing ina virtual environment, in accordance with one or more exampleembodiments.

DETAILED DESCRIPTION

In the following description of the various embodiments, reference ismade to the accompanying drawings, which form a part hereof, and inwhich is shown by way of illustration various embodiments in which thedisclosure may be practiced. It is to be understood that otherembodiments may be utilized and structural and functional modificationsmay be made without departing from the scope and spirit of the presentdisclosure. Further, headings within this disclosure should not beconsidered as limiting aspects of the disclosure. Those skilled in theart with the benefit of this disclosure will appreciate that the exampleembodiments are not limited to the example headings.

I. Example Personal Training System

A. Illustrative Computing Devices

FIG. 1A illustrates an example of a personal training system 100 inaccordance with example embodiments. Example system 100 may include oneor more electronic devices, such as computer 102. Computer 102 maycomprise a mobile terminal, such as a telephone, music player, tablet,netbook or any portable device. In other embodiments, computer 102 maycomprise a set-top box (STB), desktop computer, digital videorecorder(s) (DVR), computer server(s), and/or any other desiredcomputing device. In certain configurations, computer 102 may comprise agaming console, such as for example, a Microsoft® XBOX, Sony®Playstation, and/or a Nintendo® Wii gaming consoles. Those skilled inthe art will appreciate that these are merely example consoles fordescriptive purposes and this disclosure is not limited to any consoleor device.

Turning briefly to FIG. 1B, computer 102 may include computing unit 104,which may comprise at least one processing unit 106. Processing unit 106may be any type of processing device for executing softwareinstructions, such as for example, a microprocessor device. Computer 102may include a variety of non-transitory computer readable media, such asmemory 108. Memory 108 may include, but is not limited to, random accessmemory (RAM) such as RAM 110, and/or read only memory (ROM), such as ROM112. Memory 108 may include any of: electronically erasable programmableread only memory (EEPROM), flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical disk storage,magnetic storage devices, or any other medium that can be used to storethe desired information and that can be accessed by computer 102.

The processing unit 106 and the system memory 108 may be connected,either directly or indirectly, through a bus 114 or alternatecommunication structure to one or more peripheral devices. For example,the processing unit 106 or the system memory 108 may be directly orindirectly connected to additional memory storage, such as a hard diskdrive 116, a removable magnetic disk drive, an optical disk drive 118,and a flash memory card, as well as to input devices 120, and outputdevices 122. The processing unit 106 and the system memory 108 also maybe directly or indirectly connected to one or more input devices 120 andone or more output devices 122. The output devices 122 may include, forexample, a monitor display, television, printer, stereo, or speakers.The input devices 120 may include, for example, a keyboard, touchscreen, a remote control pad, a pointing device (such as a mouse,touchpad, stylus, trackball, or joystick), a scanner, a camera or amicrophone. In this regard, input devices 120 may comprise one or moresensors configured to sense, detect, and/or measure athletic movementfrom a user, such as user 124, shown in FIG. 1A.

Looking again to FIG. 1A, image-capturing device 126 and/or sensor 128may be utilized in detecting and/or measuring athletic movements of user124. In one embodiment, data obtained image-capturing device 126 orsensor 128 may directly detect athletic movements, such that the dataobtained from image-capturing device 126 or sensor 128 is directlycorrelated to a motion parameter. For example, and with reference toFIG. 4, image data from image-capturing device 126 may detect that thedistance between sensor locations 402 g and 402 i has decreased andtherefore, image-capturing device 126 alone may be configured to detectthat user's 124 right arm has moved. Yet, in other embodiments, datafrom image-capturing device 126 and/or sensor 128 may be utilized incombination, either with each other or with other sensors to detectand/or measure movements. Thus, certain measurements may be determinedfrom combining data obtained from two or more devices. Image-capturingdevice 126 and/or sensor 128 may include or be operatively connected toone or more sensors, including but not limited to: an accelerometer, agyroscope, a location-determining device (e.g., GPS), light sensor,temperature sensor (including ambient temperature and/or bodytemperature), heart rate monitor, image-capturing sensor, moisturesensor and/or combinations thereof. Example uses of illustrative sensors126, 128 are provided below in Section I.C, entitled “IllustrativeSensors.” Computer 102 may also use touch screens or image capturingdevice to determine where a user is pointing to make selections from agraphical user interface. One or more embodiments may utilize one ormore wired and/or wireless technologies, alone or in combination,wherein examples of wireless technologies include Bluetooth®technologies, Bluetooth® low energy technologies, and/or ANTtechnologies.

B. Illustrative Network

Still further, computer 102, computing unit 104, and/or any otherelectronic devices may be directly or indirectly connected to one ormore network interfaces, such as example interface 130 (shown in FIG.1B) for communicating with a network, such as network 132. In theexample of FIG. 1B, network interface 130, may comprise a networkadapter or network interface card (NIC) configured to translate data andcontrol signals from the computing unit 104 into network messagesaccording to one or more communication protocols, such as theTransmission Control Protocol (TCP), the Internet Protocol (IP), and theUser Datagram Protocol (UDP). These protocols are well known in the art,and thus will not be discussed here in more detail. An interface 130 mayemploy any suitable connection agent for connecting to a network,including, for example, a wireless transceiver, a power line adapter, amodem, or an Ethernet connection. Network 132, however, may be any oneor more information distribution network(s), of any type(s) ortopography(s), alone or in combination(s), such as internet(s),intranet(s), cloud(s), LAN(s). Network 132 may be any one or more ofcable, fiber, satellite, telephone, cellular, wireless, etc. Networksare well known in the art, and thus will not be discussed here in moredetail. Network 132 may be variously configured such as having one ormore wired or wireless communication channels to connect one or morelocations (e.g., schools, businesses, homes, consumer dwellings, networkresources, etc.), to one or more remote servers 134, or to othercomputers, such as similar or identical to computer 102. Indeed, system100 may include more than one instance of each component (e.g., morethan one computer 102, more than one display 136, etc.).

Regardless of whether computer 102 or other electronic device withinnetwork 132 is portable or at a fixed location, it should be appreciatedthat, in addition to the input, output and storage peripheral devicesspecifically listed above, the computing device may be connected, suchas either directly, or through network 132 to a variety of otherperipheral devices, including some that may perform input, output andstorage functions, or some combination thereof. In certain embodiments,a single device may integrate one or more components shown in FIG. 1A.For example, a single device may include computer 102, image-capturingdevice 126, sensor 128, display 136 and/or additional components. In oneembodiment, sensor device 138 may comprise a mobile terminal having adisplay 136, image-capturing device 126, and one or more sensors 128.Yet, in another embodiment, image-capturing device 126, and/or sensor128 may be peripherals configured to be operatively connected to a mediadevice, including for example, a gaming or media system. Thus, it goesfrom the foregoing that this disclosure is not limited to stationarysystems and methods. Rather, certain embodiments may be carried out by auser 124 in almost any location.

C. Illustrative Sensors

Computer 102 and/or other devices may comprise one or more sensors 126,128 configured to detect and/or monitor at least one fitness parameterof a user 124. Sensors 126 and/or 128, may include but not limited to:an accelerometer, a gyroscope, a location-determining device (e.g.,GPS), light sensor, temperature sensor (including ambient temperatureand/or body temperature), heart rate monitor, image-capturing sensor,moisture sensor and/or combinations thereof. Network 132 and/or computer102 may be in communication with one or more electronic devices ofsystem 100, including for example, display 136, an image capturingdevice 126 (e.g., one or more video cameras), and sensor 128, which maybe an infrared (IR) device. In one embodiment sensor 128 may comprise anIR transceiver. For example, sensors 126, and/or 128 may transmitwaveforms into the environment, including towards the direction of user124 and receive a “reflection” or otherwise detect alterations of thosereleased waveforms. In yet another embodiment, image-capturing device126 and/or sensor 128 may be configured to transmit and/or receive otherwireless signals, such as radar, sonar, and/or audible information.Those skilled in the art will readily appreciate that signalscorresponding to a multitude of different data spectrums may be utilizedin accordance with various embodiments. In this regard, sensors 126and/or 128 may detect waveforms emitted from external sources (e.g., notsystem 100). For example, sensors 126 and/or 128 may detect heat beingemitted from user 124 and/or the surrounding environment. Thus,image-capturing device 126 and/or sensor 128 may comprise one or morethermal imaging devices. In one embodiment, image-capturing device 126and/or sensor 128 may comprise an IR device configured to perform rangephenomenology. As a non-limited example, image-capturing devicesconfigured to perform range phenomenology are commercially availablefrom Flir Systems, Inc. of Portland, Oreg. Although image capturingdevice 126 and sensor 128 and display 136 are shown in direct(wirelessly or wired) communication with computer 102, those skilled inthe art will appreciate that any may directly communicate (wirelessly orwired) with network 132.

1. Multi-Purpose Electronic Devices

User 124 may possess, carry, and/or wear any number of electronicdevices, including sensory devices 138, 140, 142, and/or 144. In certainembodiments, one or more devices 138, 140, 142, 144 may not be speciallymanufactured for fitness or athletic purposes. Indeed, aspects of thisdisclosure relate to utilizing data from a plurality of devices, some ofwhich are not fitness devices, to collect, detect, and/or measureathletic data. In one embodiment, device 138 may comprise a portableelectronic device, such as a telephone or digital music player,including an IPOD®, IPAD®, or iPhone®, brand devices available fromApple, Inc. of Cupertino, Calif. or Zune® or Microsoft® Windows devicesavailable from Microsoft of Redmond, Wash. As known in the art, digitalmedia players can serve as both an output device for a computer (e.g.,outputting music from a sound file or pictures from an image file) and astorage device. In one embodiment, device 138 may be computer 102, yetin other embodiments, computer 102 may be entirely distinct from device138. Regardless of whether device 138 is configured to provide certainoutput, it may serve as an input device for receiving sensoryinformation. Devices 138, 140, 142, and/or 144 may include one or moresensors, including but not limited to: an accelerometer, a gyroscope, alocation-determining device (e.g., GPS), light sensor, temperaturesensor (including ambient temperature and/or body temperature), heartrate monitor, image-capturing sensor, moisture sensor and/orcombinations thereof. In certain embodiments, sensors may be passive,such as reflective materials that may be detected by image-capturingdevice 126 and/or sensor 128 (among others). In certain embodiments,sensors 144 may be integrated into apparel, such as athletic clothing.For instance, the user 124 may wear one or more on-body sensors 144 a-b.Sensors 144 may be incorporated into the clothing of user 124 and/orplaced at any desired location of the body of user 124. Sensors 144 maycommunicate (e.g., wirelessly) with computer 102, sensors 128, 138, 140,and 142, and/or camera 126. Examples of interactive gaming apparel aredescribed in U.S. patent application Ser. No. 10/286,396, filed Oct. 30,2002, and published as U.S. Pat. Pub, No. 2004/0087366, the contents ofwhich are incorporated herein by reference in its entirety for any andall non-limiting purposes. In certain embodiments, passive sensingsurfaces may reflect waveforms, such as infrared light, emitted byimage-capturing device 126 and/or sensor 128. In one embodiment, passivesensors located on user's 124 apparel may comprise generally sphericalstructures made of glass or other transparent or translucent surfaceswhich may reflect waveforms. Different classes of apparel may beutilized in which a given class of apparel has specific sensorsconfigured to be located proximate to a specific portion of the user's124 body when properly worn. For example, golf apparel may include oneor more sensors positioned on the apparel in a first configuration andyet soccer apparel may include one or more sensors positioned on apparelin a second configuration. For example, looking briefly to FIG. 14, golfapparel may have more sensors positioned about regions 1402A and 1402Dthan apparel for soccer, which may have more sensors (and/or differenttypes of sensors) positioned about regions 1402C and 1402F). Devices138-144 may communicate with each other, either directly or through anetwork, such as network 132. Communication between one or more ofdevices 138-144 may communicate through computer 102. For example, twoor more of devices 138-144 may be peripherals operatively connected tobus 114 of computer 102. In yet another embodiment, a first device, suchas device 138 may communicate with a first computer, such as computer102 as well as another device, such as device 142, however, device 142may not be configured to connect to computer 102 but may communicatewith device 138. Those skilled in the art will appreciate that otherconfigurations are possible.

Some implementations of the example embodiments may alternately oradditionally employ computing devices that are intended to be capable ofa wide variety of functions, such as a desktop or laptop personalcomputer. These computing devices may have any combination of peripheraldevices or additional components as desired. Also, the components shownin FIG. 1B may be included in the server 134, other computers,apparatuses, etc.

2. Illustrative Apparel/Accessory Sensors

In certain embodiments, sensory devices 138, 140, 142 and/or 144 may beformed within or otherwise associated with user's 124 clothing oraccessories, including a watch, armband, wristband, necklace, shirt,shoe, or the like. Examples of shoe-mounted and wrist-worn devices(devices 140 and 142, respectively) are described immediately below,however, these are merely example embodiments and this disclosure shouldnot be limited to such.

i. Shoe-Mounted Device

In certain embodiments, sensory device 140 may comprise footwear whichmay include one or more sensors, including but not limited to: anaccelerometer, location-sensing components, such as GPS, and/or a forcesensor system. FIG. 2A illustrates one exemplary embodiment of anexample sensor system 202. In certain embodiments, system 202 mayinclude a sensor assembly 204. Assembly 204 may comprise one or moresensors, such as for example, an accelerometer, location-determiningcomponents, and/or force sensors. In the illustrated embodiment,assembly 204 incorporates a plurality of sensors, which may includeforce-sensitive resistor (FSR) sensors 206. In yet other embodiments,other sensor(s) may be utilized. Port 208 may be positioned within asole structure 209 of a shoe. Port 208 may optionally be provided to bein communication with an electronic module 210 (which maybe in a housing211) and a plurality of leads 212 connecting the FSR sensors 206 to theport 208. Module 210 may be contained within a well or cavity in a solestructure of a shoe. The port 208 and the module 210 includecomplementary interfaces 214, 216 for connection and communication.

In certain embodiments, at least one force-sensitive resistor 206 shownin FIG. 2A may contain first and second electrodes or electricalcontacts 218, 220 and a force-sensitive resistive material 222 and/or224 disposed between the electrodes 218, 220 to electrically connect theelectrodes 218, 220 together. When pressure is applied to theforce-sensitive material 222/224, the resistivity and/or conductivity ofthe force-sensitive material 222/224 changes, which changes theelectrical potential between the electrodes 218, 220. The change inresistance can be detected by the sensor system 202 to detect the forceapplied on the sensor 216. The force-sensitive resistive material222/224 may change its resistance under pressure in a variety of ways.For example, the force-sensitive material 222/224 may have an internalresistance that decreases when the material is compressed, similar tothe quantum tunneling composites described in greater detail below.Further compression of this material may further decrease theresistance, allowing quantitative measurements, as well as binary(on/off) measurements. In some circumstances, this type offorce-sensitive resistive behavior may be described as “volume-basedresistance,” and materials exhibiting this behavior may be referred toas “smart materials.” As another example, the material 222/224 maychange the resistance by changing the degree of surface-to-surfacecontact. This can be achieved in several ways, such as by usingmicroprojections on the surface that raise the surface resistance in anuncompressed condition, where the surface resistance decreases when themicroprojections are compressed, or by using a flexible electrode thatcan be deformed to create increased surface-to-surface contact withanother electrode. This surface resistance may be the resistance betweenthe material 222 and the electrode 218, 220 and/or the surfaceresistance between a conducting layer (e.g. carbon/graphite) and aforce-sensitive layer (e.g. a semiconductor) of a multi-layer material222/224. The greater the compression, the greater the surface-to-surfacecontact, resulting in lower resistance and enabling quantitativemeasurement. In some circumstances, this type of force-sensitiveresistive behavior may be described as “contact-based resistance.” It isunderstood that the force-sensitive resistive material 222/224, asdefined herein, may be or include a doped or non-doped semiconductingmaterial.

The electrodes 218, 220 of the FSR sensor 206 can be formed of anyconductive material, including metals, carbon/graphite fibers orcomposites, other conductive composites, conductive polymers or polymerscontaining a conductive material, conductive ceramics, dopedsemiconductors, or any other conductive material. The leads 212 can beconnected to the electrodes 218, 220 by any suitable method, includingwelding, soldering, brazing, adhesively joining, fasteners, or any otherintegral or non-integral joining method. Alternately, the electrode 218,220 and associated lead(s) 212 may be formed of a single piece of thesame material 222/224. In further embodiments, material 222 isconfigured to have at least one electric property (e.g., conductivity,resistance, etc.) than material 224. Examples of exemplary sensors aredisclosed in U.S. patent application Ser. No. 12/483,824, filed on Jun.12, 2009, the contents of which are incorporated herein in theirentirety for any and all non-limiting purposes.

ii. Wrist-Worn Device

As shown in FIG. 2B, device 226 (which may be, or be a duplicative of orresemble sensory device 142 shown in FIG. 1A) may be configured to beworn by user 124, such as around a wrist, arm, ankle or the like. Device226 may monitor movements of a user, including, e.g., athletic movementsor other activity of user 124. For example, in one embodiment, device226 may be activity monitor that measures, monitors, tracks or otherwisesenses the user's activity (or inactivity) regardless of the user'sproximity or interactions with computer 102. Device 226 may detectathletic movement or other activity (or inactivity) during user's 124interactions with computer 102 and/or operate independently of computer102. Device 226 may communicate directly or indirectly, wired orwirelessly, with network 132 and/or other devices, such as devices 138and/or 140. Athletic data obtained from device 226 may be utilized indeterminations conducted by computer 102, such as determinationsrelating to which exercise programs are presented to user 124. As usedherein, athletic data means data regarding or relating to a user'sactivity (or inactivity). In one embodiment, device 226 may wirelesslyinteract with a remote website such as a site dedicated to fitness orhealth related subject matter, either directly or indirectly (e.g., viaa mobile device, such as device 138 associated with user 124). In thisor another embodiment, device 226 may interact with a mobile device,such as device 138, as to an application dedicated to fitness or healthrelated subject matter. In these or other embodiments, device 226 mayinterest with both a mobile device as to an application as above, suchas device 138, and a remote website, such as a site dedicated to fitnessor health related subject matter, either directly or indirectly (e.g.,via the mobile device, such as device 138). In some embodiments, at somepredetermined time(s), the user may wish to transfer data from thedevice 226 to another location. For example, a user may wish to uploaddata from a portable device with a relatively smaller memory to a largerdevice with a larger quantity of memory. Communication between device226 and other devices may be done wirelessly and/or through wiredmechanisms.

As shown in FIG. 2B, device 226 may include an input mechanism, such asa button 228, to assist in operation of the device 226. The button 228may be a depressible input operably connected to a controller 230 and/orany other electronic components, such as one or more elements of thetype(s) discussed in relation to computer 102 shown in FIG. 1B.Controller 230 may be embedded or otherwise part of housing 232. Housing232 may be formed of one or more materials, including elastomericcomponents and comprise one or more displays, such as display 234. Thedisplay may be considered an illuminable portion of the device 226. Thedisplay 234 may include a series of individual lighting elements orlight members such as LED lights 234 in an exemplary embodiment. The LEDlights may be formed in an array and operably connected to thecontroller 230. Device 226 may include an indicator system 236, whichmay also be considered a portion or component of the overall display234. It is understood that the indicator system 236 can operate andilluminate in conjunction with the display 234 (which may have pixelmember 235) or completely separate from the display 234. The indicatorsystem 236 may also include a plurality of additional lighting elementsor light members 238, which may also take the form of LED lights in anexemplary embodiment. In certain embodiments, indicator system 236 mayprovide a visual indication of goals, such as by illuminating a portionof lighting members 238 to represent accomplishment towards one or moregoals.

A fastening mechanism 240 can be unlatched wherein the device 226 can bepositioned around a wrist of the user 124 and the fastening mechanism240 can be subsequently placed in a latched position. The user can wearthe device 226 at all times if desired. In one embodiment, fasteningmechanism 240 may comprise an interface, including but not limited to aUSB port, for operative interaction with computer 102 and/or devices138, 140, and/or recharging an internal power source.

In certain embodiments, device 226 may comprise a sensor assembly (notshown in FIG. 2B). The sensor assembly may comprise a plurality ofdifferent sensors. In an example embodiment, the sensor assembly maycomprise or permit operative connection to an accelerometer (includingin the form of a multi-axis accelerometer), a gyroscope, alocation-determining device (e.g., GPS), light sensor, temperaturesensor (including ambient temperature and/or body temperature), heartrate monitor, image-capturing sensor, moisture sensor and/orcombinations thereof. Detected movements or parameters from device's 142sensor(s), may include (or be used to form) a variety of differentparameters, metrics or physiological characteristics including but notlimited to speed, distance, steps taken, and energy expenditure such ascalories, heart rate and sweat detection. Such parameters may also beexpressed in terms of activity points or currency earned by the userbased on the activity of the user. Examples of wrist-worn sensors thatmay be utilized in accordance with various embodiments are disclosed inU.S. patent application Ser. No. 13/287,064, filed on Nov. 1, 2011, thecontents of which are incorporated herein in their entirety for any andall non-limiting purposes.

II. Illustrative Athletic Monitoring Methods

System 100 may prompt a user to perform one or more exercises, monitoruser movement while performing the exercises, and provide the user withfeedback based on their performance. In one embodiment, computer 102,image-capturing device 126, sensor 128, and display 136 may beimplemented within the confines of a user's residence, although otherlocations, including schools, gyms and/or businesses are contemplated.Further, as discussed above, computer 102 may be a portable device, suchas a cellular telephone, therefore, one or more aspects discussed hereinmay be conducted in almost any location.

A. Monitoring User Movements

While exercising, the system 100 may use one or more techniques tomonitor user movement. FIG. 3 illustrates an example flow diagram of amethod for providing a user with feedback while exercising, inaccordance with one or more example embodiments. The method may beimplemented by a computer, such as, for example, computer 102, device138, 140, 142 and/or 144, and/or other apparatuses. The blocks shown inFIG. 3 may be rearranged, some blocks may be removed, additional blocksmay be added, each block may be repeated one or more times, and the flowdiagram may be repeated one or more times. The flow diagram may begin atblock 302.

1. Perform User Assessment

In block 302, one or more embodiments may include performing an initialassessment of the user. A user, such as user 124, may be positioned inrange of a sensor, such as in front of the image capturing device 126and/or sensor 128, which may comprise an infrared transceiver. Display136 may present a representation of user 124 that may be a“mirror-image” or depict a virtual avatar, such as a user avatar, thatmoves to correspond with user movement. Computer 102 may prompt the userto move into a certain region relative to the image capturing device 126and/or relative to the sensor 128 so that the user is within frameand/or range. When properly positioned, the system 100 may processmovement of the user. Although the term “initial” has been utilized,this assessment may occur each time the user initiates system 100, orupon predetermined (e.g., regular or random) times that the userinitiates system 100, or upon passage of time (e.g., from firstinitiation or thereafter based on such occurrences in turn), or eachtime the user performs any one or more of some predetermined,user-selected, sequence, set or other movement, or for any other reason.Thus, references to assessments herein are not limited to a singleassessment.

a. Identify Sensory Locations

The system 100 may process sensory data to identify user movement data.In one embodiment, sensory locations may be identified (see block 302a). For example, images of recorded video, such as from image-capturingdevice 126, may be utilized in an identification of user movement. Forexample, the user may stand a certain distance, which may or may not bepredefined, from the image-capturing device 126, and computer 102 mayprocess the images to identify the user 124 within the video, forexample, using disparity mapping techniques. In an example, the imagecapturing device 126 may be a stereo camera having two or more lensesthat are spatially offset from one another and that simultaneouslycapture two or more images of the user. Computer 102 may process the twoor more images taken at a same time instant to generate a disparity mapfor determining a location of certain parts of the user's body in eachimage (or at least some of the images) in the video using a coordinatesystem (e.g., Cartesian coordinates). The disparity map may indicate adifference between an image taken by each of the offset lenses.

In a second example, one or more sensors may be located on or proximateto the user's 124 body at various locations or wear a suit havingsensors situated at various locations. Yet, in other embodiments, sensorlocations may be determined from other sensory devices, such as devices138, 140, 142 and/or 144. With reference to FIG. 4, sensors may beplaced (or associated with, such as with image-capturing device 126)body movement regions, such as joints (e.g., ankles, elbows, shoulders,etc.) or at other locations of interest on the user's 124 body. Examplesensory locations are denoted in FIG. 4 by locations 402 a-402 o. Inthis regard, sensors may be physical sensors located on/in a user'sclothing, yet in other embodiments, sensor locations 402 a-402 o may bebased upon identification of relationships between two moving bodyparts. For example, sensor location 402 a may be determined byidentifying motions of user 124 with an image-capturing device, such asimage-capturing device 126. Thus, in certain embodiments, a sensor maynot physically be located at a specific location (such as sensorlocations 402 a-402 o), but is configured to sense properties of thatlocation, such as with image-capturing device 126. In this regard, theoverall shape or portion of a user's body may permit identification ofcertain body parts. Regardless of whether an image-capturing device,such as camera 126, is utilized and/or a physical sensor located on theuser 124, such as sensors within or separate from one or more ofdevice(s) 138, 140, 142, 144 are utilized, the sensors may sense acurrent location of a body part and/or track movement of the body part.In one embodiment, location 402 m may be utilized in a determination ofthe user's center of gravity (a.k.a, center of mass). For example,relationships between location 402 a and location(s) 402 f/402 l withrespect to one or more of location(s) 402 m-402 o may be utilized todetermine if a user's center of gravity has been elevated along thevertical axis (such as during a jump) or if a user is attempting to“fake” a jump by bending and flexing their knees. In one embodiment,sensor location 402 n may be located at about the sternum of user 124.Likewise, sensor location 402 o may be located approximate to the navalof user 124. In certain embodiments, data from sensor locations 402m-402 o may be utilized (alone or in combination with other data) todetermine the center of gravity for user 124. In further embodiments,relationships between multiple several sensor locations, such as sensors402 m-402 o, may be utilized in determining orientation of the user 124and/or rotational forces, such as twisting of user's 124 torso. Further,one or more locations, such as location(s), may be utilized to as acenter of moment location. For example, in one embodiment, one or moreof location(s) 402 m-402 o may serve as a point for a center of momentlocation of user 124. In another embodiment, one or more locations mayserve as a center of moment of specific body parts or regions.

In certain embodiments, a time stamp to the data collected (such ascollected part of block 302 in FIG. 3) indicating a specific time when abody part was at a certain location. Sensor data may be received atcomputer 102 (or other device) via wireless or wired transmission. Acomputer, such as computer 102 and/or devices 138, 140, 142, 144 mayprocess the time stamps to determine the locations of the body partsusing a coordinate system (e.g., Cartesian coordinates) within each (orat least some) of the images in the video. Data received fromimage-capturing device 126 may be corrected, modified, and/or combinedwith data received from one or more other devices 138, 140, 142 and 144.

In a third example, computer 102 may use infrared pattern recognition todetect user movement and locations of body parts of the user 124. Forexample, the sensor 128 may include an infrared transceiver, which maybe part of image-capturing device 126, or another device, that may emitan infrared signal to illuminate the user's 124 body using infraredsignals. The infrared transceiver 128 may capture a reflection of theinfrared signal from the body of user 124. Based on the reflection,computer 102 may identify a location of certain parts of the user's bodyusing a coordinate system (e.g., Cartesian coordinates) at particularinstances in time. Which and how body parts are identified may bepredetermined based on a type of exercise a user is requested toperform.

As part of a workout routine, computer 102 may make an initial posturalassessment of the user 124 as part of the initial user assessment inblock 302 of FIG. 3. With reference to FIG. 5, computer 102 may analyzefront and side images of a user 124 to determine a location of one ormore of a user's shoulders, upper back, lower back, hips, knees, andankles. On-body sensors and/or infrared techniques may also be used,either alone or in conjunction with image-capturing device 126, todetermine the locations of various body parts for the posturalassessment. For example, computer 102 may determine assessment lines 124a-g to determine the locations of a various points on a user's body,such as, for example, ankles, knees, hips, upper back, lower back, andshoulders.

b. Identify Sensory Regions

In further embodiments, system 100 may identify sensor regions (see,e.g. block 302 b). In one embodiment, assessments lines 124 a-g may beutilized to divide the user's body into regions. For example, lines 124b-f may be horizontal axes. For example, a “shoulders” region 502 maycorrelate to a body portion having a lower boundary around the user'sshoulders (see line 124 b), region 504 may correlate to the body portionbetween the shoulders (line 124 b) and about half the distance to thehips (see line 124 c) and thus be an “upper back” region, and region 506may span the area between line 124 c to the hips (see line 124 d) tocomprise a “lower back region.” Similarly, region 508 may span the areabetween the “hips” (line 124 d) and the “knees” (see line 124 e), region510 may span between lines 124 e and 124 f and region 512 (see “ankles”)may have an upper boundary around line 124 f. Regions 502-512 may befurther divided, such as into quadrants, such as by using axes 124 a and124 g

c. Categorize Locations or Regions

Regardless of whether specific points (e.g., locations shown in FIG. 4)and/or regions (e.g. regions shown in FIG. 5), body parts or regionsthat are not proximate to each other may nonetheless be categorized intothe same movement category (see, e.g. block 302 c). For example, asshown in FIG. 5, the “upper back”, “hips”, and “ankles” regions 504,508, 512 may be categorized as belonging to a “mobility” category. Inanother embodiment, the “lower back” and “knees” regions 506, 510 may becategorized as belonging to a “stability” category. The categorizationsare merely examples, and in other embodiments, a location or region maybelong to multiple categories. For example, a “center of gravity” regionmay be formed from regions 504 and 506. In one embodiment, a “center ofgravity” may comprise portions of regions 504 and 506. IN anotherembodiment, a “center of moment” category may be provided, eitherindependently, or alternatively, as comprising a portion of at leastanother category. In one embodiment, a single location may be weightedin two or more categories, such as being 10% weighted in a “stability”category and 90% weighted in a “mobility” category.

Computer 102 may also process the image to determine a color of clothingof the user or other distinguishing features to differentiate the userfrom their surroundings. After processing, computer 102 may identify alocation of multiple points on the user's body and track locations ofthose points, such as locations 402 in FIG. 4. Computer 102 may alsoprompt the user to answer questions to supplement the posturalassessment, such as, for example, age, weight, etc.

2. Providing Form

With reference again to FIG. 3, in block 304, one or more embodimentsmay include demonstrating proper form for an exercise and prompting theuser to perform the exercise. For example, after or in addition to theinitial postural assessment, computer 102 may cause the display 136 topresent a virtual trainer demonstrating an exercise to instruct the useron proper form.

FIGS. 6-7 illustrate example displays of a virtual trainer 602performing an exercise in accordance with example embodiments. Withreference to FIG. 6, the display 136 may present a virtual trainer 602at multiple positions as well as an arrow 604 instructing a user inwhich direction to move. With reference to FIG. 7, the display 136 maypresent an animation of the virtual trainer 602 demonstrating properform for performing a repetition of an exercise (e.g., a slow lunge). Inaddition to or instead of a virtual trainer 602, the display 136 maypresent a depiction and/or an actual video of a real persondemonstrating proper form for an exercise.

Form guidance information 702 may be presented on the virtual trainer602 when demonstrating an exercise. Form guidance information 702 may bea straight line, an angle between lines, or other information to guidethe user about proper form for an exercise. In FIG. 7, for instance,form guidance information 702 is a straight line across a user's hipbones instructing the user to keep their hips level relative to thefloor. Form guidance information may be provided through feedbackmechanisms that do not include graphical or textual data overlaid on anavatar, such as virtual trainer 602. In this regard, form guidanceinformation may include audio or tactile information. For example,voices or sounds may provide an indication of how straight a user's hipsare (or are not). In another embodiment, a signal may be provided to adevice, such as sensor device(s) 138, 140, 142 and/or 144 to providevibrational output configured to be felt by user 124 to provideguidance. For example, a vibration may be provided to the sensor device138 upon determining that the user's hips are not straight.

B. Feedback

With reference again to FIG. 3, in block 306, one or more embodimentsmay comprise monitoring a user performing an exercise and providing theuser with feedback on their form. While performing an exercise, computer102 may cause a display, such as display 136, to present a userrepresentation with real-time feedback. FIG. 8 illustrates an exampledisplay of a user representation performing an exercise in accordancewith example embodiments. While user 124 is performing movements,computer 102 may create a user representation for display by the display136. The computer may create the user representation based on one ormore of processing some or all images of video captured by imagecapturing device 126, processing data received from the sensor 128, andprocessing data received from sensors 138, 140, 142, and 144. The userrepresentation may be, for example, video of the user, or a user avatar802 created based on image and/or sensor data, including infrared data.

1. Guide Information

To assist the user 124, display 136 may also present form guidanceinformation 702 on user avatar 802, as well as current form information804 for the user. Current form information 804 may be a measurement of auser's current form of interest in a particular exercise. Current forminformation 804 may be a straight line between particular body parts, anangle between certain body parts, curvature of a body part, or otherinformation being monitored for a particular exercise. For example, asseen in FIG. 8, current form information 804 may be a straight linebetween a user's hips to indicate if one hip sags relative to the other(e.g., to indicate whether a straight line between the user's hips isparallel with the floor). Also, the user may place sensors on their bodyat their hip bones, or computer 102 may estimate a location of a user'ship bones based on detected infrared information. A color of the currentform information 804 may vary based on how well the user's formcorresponds to desired form. For example, green may indicate less than a5 degree angle between lines of the form guidance information 702 andthe current form information 804, yellow may indicate a 5 degree to 15degree angle between lines of the form guidance information 702 and thecurrent form information 804, and red may indicate greater than a 15degree angle between lines of the form guidance information 702 and thecurrent form information 804.

To further aid a user in having proper form, computer 102 may alsoprocess captured data, such as from the images, infrared data, and/orsensor data, to determine a relationship between certain body parts.These relationships may include an angle of one body part relative toanother. For example, when the user is doing a squat, computer 102 maycompare an angle formed between a user's torso and thigh. In anotherexample, computer 102 may compare a location of a user's shoulderrelative to their elbow and hand during a push up. In another example,computer 102 may compare shoulders and hips to determine relativerotation there between, and/or either or both shoulder and hips relativeto one or more feet to determine relative rotation there between orthere among, and/or absolute rotation of either the hips or shoulders.Angles, rotations, and other relationships between or among any one ormore desired body part(s) may be monitored and analyzed. Angles,rotations, and other relationships between or among a reference point(e.g., off body) and any one or more desired body part(s) may bemonitored and analyzed.

2. Comparison of Data

Computer 102 may compare the captured data to desired data for eachexercise to monitor the user's form while performing an exercise. Thedesired data may include multiple comparison points throughout anexercise, and/or locations of various body parts during the exercise.For example, a push up may be divided into four events: (1) the lowestpoint where the user's chest is nearest to the ground or other referencepoint and/or their arms are bent at a maximum bend; (2) a highest pointwhere the user's chest is farthest from the ground and/or their arms arestraightened (e.g., a maximum straightness); (3) an upward event wherethe user transitions from the lowest point to the highest point; and (4)a downward event where the user transitions from the highest point tothe lowest point.

The desired data may specify comparison points for each of these eventsfocusing on certain body parts. For example, at each comparison pointduring a pushup, computer 102 may monitor the spacing of the user'shands, the straightness of the user's back, a location of the user'shead relative to their torso, the spacing of the user's feet relative toone another, or other aspects. The desired data may specify desiredlocations for each body part being monitored during comparison pointsfor an exercise, as well as permitted variations from the desiredlocations. If the user's body part varies beyond what is permitted,computer 102 may provide the user with feedback identifying the bodypart and a correction to the user's form (e.g., back is arched, and notstraight, during a pushup).

Computer 102 may also score the user's performance of an exercise.Scoring may be based on the user's form, how quickly the user was ableto complete the exercise (e.g., 20 pushups in 60 seconds), a number ofrepetitions the user completed, the amount of weight the user usedduring an exercise, or other exercise metrics. In additional toprocessing the images, sensor data, and infrared data, computer 102 mayreceive data from other sources. For example, the user may run apredetermined distance as measured by a sensor attached to the user(e.g., sensor in a shoe) or global positioning system (GPS) device andmay upload the data to computer 102. Computer 102 may process the datato provide the user with feedback. Computer 102 may also providefeedback based on analyzing a user from different viewpoints.

3. Representations

FIG. 9 illustrates an example display of multiple user avatars fromdifferent viewpoints performing an exercise in accordance with exampleembodiments. In an example, the system 100 of FIG. 1 may include morethan one image capturing device 126 and may capture video from differentperspectives. Yet, in other embodiments, data for different angles maybe derived from one or more sources. For example, the image capturingdevice 126 may be positioned at any desired angle relative to a userperforming an exercise, such as, for example, at least one of a frontview, left side view, a right side view, and a back view of a user. Inanother example, the system 100 may include more than one infrareddevice 128 to capture infrared reflections of the user 124 fromdifferent perspective. Also, the system 100 may include both an imagecapturing device 126 and an infrared transceiver 128 (or more thaneither one or both) positioned at different/various locations.

Computer 102 may process some or all images and/or infrared data tocreate a first user avatar 802A and a second user avatar 802B fordisplay by the display 136. In this manner, display 136 may present auser's form from multiple angles for the user to observe. Further, formguidance information 702A-C may be added to each of the user avatars802A-B to aid the user in obtaining proper form.

FIGS. 10A-B illustrate example displays depicting form feedback on auser avatar in accordance with example embodiments. When exercising,display 136 may present multiple virtual targets 1002A-C on which theuser is instructed to place a hand, foot, or other part of their body.For example, FIG. 10A depicts virtual target 1002A for a user's foot,virtual target 1002B for a user's other foot, and virtual target 1002Cfor a user's hands. The virtual targets 1002 may be used to aid a userin having proper form. Computer 102 may process video, sensor data, orinfrared data for a user to determine if the user has placed the properbody part in the desired virtual target 1002 during performance of anexercise. If so, computer 102 may cause the display 136 to highlighteach of the targets 1002 in a certain color (e.g., green) and/or play anaudible sound. In one embodiment, a range of colors may be displayedbased upon the performance of the user. Ranges of coloration may bebased upon performance thresholds. For example, a green coloration maybe utilized in a user is above a 90% threshold, an orange coloration isutilized if the user is between a 89%-70% threshold, and a redcoloration may be utilized if the user's performance falls below a 70%threshold. Similarly, different sounds may be utilized to providefeedback to the user. If not, computer 102 may highlight each missedtarget 1002 and/or play an audible sound, and provide a suggestion tocorrect the user's form. For example, computer 102 may determine that auser's knees are bent resulting in the user missing targets (in whole orin part) 1002B-C. Computer 102 may cause display 136 to display useravatar 802 highlighting the knees and/or any other problem area (e.g.,different color, encircle one or more body parts, inset picture withenlarged view of problem area, etc.). Display 136 may display aninstruction 1006 to correct the user's form (e.g., straighten knees).

4. Shadows

Referring briefly again to FIG. 3, in block 308, one or more embodimentsmay include generating a representation of the user and a virtualshadow, wherein the virtual shadow illustrates proper form of theexercise. The example embodiments also may be used to display a virtualshadow relative to the user avatar 802. The virtual shadow may be usedfor one or more of demonstrating proper form, presenting a user's (oranother individual's) previously recorded performance of an exerciserelative to a user's current performance, providing real-time feedbackto a user while exercising, facilitating social interaction and/orcompetition among a plurality of individuals, and providing post-workoutfeedback to a user on their form, as described in further detail below.

As provided in certain examples below, a shadow may be directly orpartially overlaid with an avatar. In other embodiments, however, theshadow may not overlap an avatar at all. For example, in certainembodiments, a shadow may be in the form of a virtual trainer. Althoughillustrative embodiments disclosed herein relate to displaying theshadow to the user, such as during the user's performance of an athleticactivity, other embodiments may not display a visual depiction of ashadow to a user 124. In certain embodiments, data corresponding to adimensional virtual shadow may be utilized without actually displaying avisual depiction of a shadow to a user. This may be advantageous inimplementations in which it is undesirable to provide an immediateindication of visual performance measurements to the user. In certainembodiments, audio and/or video cues may provide feedback to the userindicative of their performance relating to a shadow—eitherindependently of or in combination with the shadow.

FIG. 11 illustrates an example user avatar having a virtual shadow 1102to permit a user, such as user 124 shown in FIG. 1, to compete againstthemselves or others, in accordance with example embodiments. Initially,computer 102 may monitor a user performing an exercise using the imagecapturing device 126, sensor 128, and/or sensory devices 138, 140, 142and/or 144. Based on the collected data, computer 102 may create a userrepresentation, such as a user avatar 802, as well as a virtual shadow1102. The shadow 1102, for example, may be a more transparent version ofthe user avatar 802, a user avatar 802 presented in a different color, auser avatar 802 presented having a pattern (e.g., grid, cross hatching,etc.), etc, a avatar 802 having a contrasting structure (e.g., composedof spheres, wafers, blocks), etc. Any visual distinctions may beutilized to differentiate avatar 802 from shadow 1102.

a. User Vs. User

In an example, the virtual shadow 1102 may be displayed with theappearance that a user, such as user 124, is competing against him orherself. For example, computer 102 (or any other electronic device) maystore a user avatar 802 while the user 124 performs an exercise. Later,computer 102 may prompt the user if they would like to compete againsttheir earlier performance of the exercise. In that case, system 100 maygenerate a virtual shadow 1102 based on the user avatar 802 generatedfrom the most recent or a selected earlier completed exercise session.Self-competition may permit a user to view their improvement over time,including, as examples, the latest improvement or improvement over a(e.g., user-selected) time period or improvement from a beginning.

When competing against him or herself, computer 102 may generate a newuser avatar 802 as the user performs an exercise for simultaneousdisplay with the virtual shadow 1102. The new user avatar 802 may bedisplayed overtop of or directly behind the shadow, as seen in forexample, FIGS. 11 and 13A. Alternatively, the display 136 may present ashadow 1102 offset from the new user avatar 802, for example, as shownin FIGS. 12 and 13B. Computer 102 may synchronize the start times suchthat the user avatar 802 appears to be competing against the virtualshadow 1102. When an exercise is complete, computer 102 may inform theuser 124 of the winner, and provide side by side statistics of thecurrent performance relative to the virtual shadow 1102. An example ofwhich is shown by statistics 1104 shown in FIG. 11.

The display 136 may also present one or more performance levelindicators 1202 to indicate a user's performance metrics, as depicted inFIG. 12. Performance level indicators may be displayed instead of ashadow. Yet, in other embodiments, indicators may be displayed inconjunction with a shadow. Example metrics may include speed, quickness,power, dimensions (e.g., distance stepped or dipped, height jumped,rotation of hips or shoulders), reaction time, agility, flexibility,acceleration, heart rate, temperature (e.g., overheating), blood oxygencontent, or other physical or physiological metrics. A performance levelindicator 1202 may be depicted as, for example, a gauge, a speedometer,a bar-type indictor, percentage indicator, etc.

b. User v. Another User

In an example, a virtual shadow 1102 may be displayed with theappearance that a user, such as user 124, is competing against anotheruser. In one embodiment, user 124 may be located at a first physicallocation, such as their home, and a second user may be located at asecond physical location, such as a gym, dwelling, school, or evenexercising outside, such as running through a city. Despite being atdifferent physical locations, users may still compete and/orcollectively engage in athletic activities. In one embodiment, each of aplurality of users may engage in a competition in substantiallyreal-time. Yet, in other embodiments, a first user may conduct apredefined series of activities or routines and data from that firstuser's performance may be utilized in a later conducted competition. Inone embodiment, two or more users may engage in a “side-by-side”competition. For example, computer 102 (or any other electronic device)may generate or store a user avatar 802 while a first user 124 performsan exercise. The same computer 102 and/or another computer, such as anelectronic device that is in operative communication with network 132,may generate and/or store a second avatar representing the second user.Both of these avatars may be displayed on a single display device, suchas display 136 at the location of user 124 (and/or at the location ofthe second user). Thus, user 124 may see both avatars. Each user'savatar may be displayed with their own shadow during the performance ofany athletic activities. In certain implementations, the shadows mayrepresent an ideal form for the respective user. Examples of usingshadows to represent forms are provided below in the followingsubsection. In further embodiments, users may be “handicapped” byutilizing variable shadow properties. Shadows may be generated basedupon past performance in one or more activities, such as the activitybeing performed in competition or upon an assessment of a person'srespective capabilities (e.g., current fitness level). Therefore,although two users may be competing against each other, one or bothshadows other than those representing ideal form may be utilized so asto require a first user to have relatively better form and/or fitnessparameters than a second user (e.g., the first user's virtual shadow mayrepresent ideal form, while the second user's virtual shadow is lessthan ideal, such as in proportion with the relative fitness of the twousers).

In other embodiments, users may compete with another user's shadow. Forexample, a first user, such as user 124 may have had a great workout andwant to challenge a second user to see how they perform or stack upagainst the first user's workout. A shadow representing the first user'sworkout may be transmitted to permit the second user to compete againstthe first user's performance. In one embodiment, a virtual avatar 802 ofthe second user may be displayed on display 136. A virtual shadow 1102may be generated based upon the workout of the first user 124. System100 may synchronize the start times such that the user avatar 802appears to be competing against the virtual shadow 1102. When anexercise is complete, computer 102 may inform either user of the winner.System 100 may also provide side by side statistics of the second user'scurrent performance relative to the virtual shadow 1102 of the firstuser 124. Competing with other users' shadow(s) 1102 may be performed ina real-time environment as well as permitting shadows 1102 from previousathletic activities to be utilized.

c. Proper Form

In accordance with certain embodiments, computer 102 (or any otherelectronic device) may also use the shadow 1102 to provide feedback to auser on proper form. To aid a user with their form, virtual shadow 1102may be used to present proper form to a user while the user 124 isperforming the exercise. For instance, the virtual shadow 1102 may becreated based on capturing data from a professional athlete or trainerdemonstrating proper form for an exercise. While performing repetitionsof an exercise, computer 102 may cause the display 136 to present thevirtual shadow 1102 with proper exercise form relative to the useravatar 802. For instance, the virtual shadow 1102 may be depictedovertop of the user avatar 802, as shown in FIG. 13A, or offset from theuser avatar 802, for example as shown in FIG. 13B. In an example, thevirtual shadow 1102 may be an animation moved at the same pace as theuser performing an exercise. In one embodiment, computer 102 isconfigured to alter the pace of an animation based on the user'sperformance of the exercise.

d. Shadow Overlap

Further embodiments may include determining an amount of overlap betweenthe user representation and the virtual shadow (see block 310 of FIG.3). In an example, computer 102 (or any other electronic device) maymonitor and/or adjust how the user avatar 802 overlaps with the virtualshadow 1102 to provide the user with real-time feedback. For example,computer 102 may define one or more overlap thresholds. In oneembodiment, computer 102 may monitor the overlap of shadow 1102 andavatar 802. In one embodiment, system 100 may determine that a user'sform is good if there is at least a first predetermined thresholdoverlap (e.g., 95% or higher) between the virtual shadow 1102 and theuser avatar 802, the user's form is acceptable if there is at least asecond predetermined threshold overlap (e.g., between 85% and 95%), andthat the user's form is improper if there is less than the secondpredetermined threshold overlap (e.g., less than 85%).

Further aspects relate to systems and methods for determining overlap.In one embodiment, computer 102 (or any other electronic device) maydivide an image from captured video into subsections to identify bodyparts that may be performing an incorrect movement, as shown in FIG. 14.In other embodiments, the sub-sections may be the similar to the regionsdiscussed in relation to FIG. 5.

Looking to FIG. 14, computer 102 may divide sensed data, represented byimage 1400, into unique subsections 1402 and may determine the amount ofoverlap between the shadow 1102 and the user avatar 802 in eachsubsection. In one embodiment, one or more subsections 1402 maycorrespond to quadrants, such as the quadrants illustrated in FIG. 5. Inan example, FIG. 14 shows six different subsections 1402A-F; however,any desired number may be used. Computer 102 may compare the overlap toidentify a subsection having a lowest percentage of overlap (e.g.,subsection 1402D in FIG. 14). Computer 102 also may identify one or moresubsections having a percentage overlap below a predetermined amount(e.g., less than 60%).

In other examples, computer 102 may determine an amount of overlap byprocessing the infrared data and/or the sensor data to determinelocations, of a user's body parts (such as for example, one or more oflocations 402 a-m), and comparing the identified locations to desiredlocations. Computer 102 may define overlap zones that compare the amountof distance between a desired body part location and an actual location.For example, a good form zone may be within a first distance from adesired location (e.g., elbow is within 2 inches from desired location)or vary by no more than a certain percentage (e.g., 5%) from the desiredlocation. An acceptable form zone may be within a second distance rangeof a desired location (e.g., elbow is within 2-4 inches from desiredlocation) or where a body part differs by no more than a certainpercentage (e.g., 15%) from the desired location. An unacceptable formzone may be more than a certain distance away from a desired locationand/or where a body part differs by more than a certain percentage(e.g., more than 15%) from a desired location. Any number of zones maybe defined.

e. Corrections

As part of the overlap determinations and/or other criteria, system 100may cause the display 136 to present a recommended correction to theuser's form. This may be performed whether there is an indication ofeither an acceptable form zone or an unacceptable form zone. Withreference to FIG. 10B, the displayed instruction 1006 may be provided toprompt the user to straighten their knees. Computer 102 may also causethe displayed video of the user avatar 802 to flash a color, tohighlight a particular body part in color (e.g., highlight hip region,elbow, etc. see 1004 of FIG. 10), to sound a tone or provide an audibleinstruction (e.g., straighten your back), to zoom in on or enlarge videoof a body part or region of a user's body that has poor form, display achart illustrating a difference between measured and desired form (e.g.,angle between upper arm and form is 25% greater than desired), or othermanners to audibly or visually inform the user of the problem. Althoughthe correction is shown as part of avatar 802, other embodiments mayshow corrections as part of a shadow.

System 100 may provide feedback to correct one problem at a time, andcertain problems may take priority over others. Certain exercises ormovements may place a user at risk for injury if not performed properly.Improper form that may result in injury may be of the highest priority,and from there other improper body part locations may be prioritized toassist the user in obtaining the full benefit of the exercise.

When in the unacceptable form zone, computer 102 may provide feedbackidentifying misplaced body parts attempting to improve the user's formto move into the acceptable form zone. Once in the acceptable form zone,computer 102 may provide feedback identifying misplaced body partsattempting to improve the user's form to move into the good form zone.If the user's form continues to be in the unacceptable form zone after apredetermined number of repetitions, computer 102 may stop the exerciseor routine. In certain embodiments, system 100 may inform the user ofthe error and/or demonstrate the exercise again. Computer 102 may alsochange the exercise to an easier one or may adapt the repetitions basedon a user's execution. As the user's form improves over time, computer102 may shift from providing corrective feedback (e.g., instruction andcorrection) to providing motivation.

FIG. 15 illustrates an example display of a user avatar having amagnified inset view providing feedback on improper form whileperforming athletic movements in accordance with example embodiments.For the one or more body parts identified as having improper form (e.g.,such as an identified subsection 1402 shown in FIG. 14 havinginsufficient overlap with a virtual shadow 1102 and/or or falling withinan unacceptable form zone), system 100 may provide one or more insetmagnified views. For example, magnified view 1502 of FIG. 15 shows abody portion of the user avatar 802 that does not coincide (such aswithin a minimum threshold) with the virtual shadow 1102. As seen inFIG. 15, an arm of the user avatar 802 is not located at the sameposition as a corresponding arm of the shadow 1102. This portion of theuser avatar 802 is presented in a magnified inset view 1502. Themagnified inset view 1502 may also highlight the user avatar 802 in afirst color (e.g., red) to emphasize the problem.

In another aspect, computer 102 may provide a replay feedback modepermitting a user to review their performance of an exercise. In oneexample, computer 102 may determine instances in the video when overlapbetween the user avatar 802 and shadow 1102 decreased below a certainthreshold. For example, computer 102 may process subsections 1402 ofeach image, or at least some of the images, of the video to identify asubsection where overlap between the user avatar 802 and shadow 1102decreased below a threshold. System 100 may identify and store apredetermined number of preceding images from the video corresponding tothe identified subsection 1402 and continue storing images from thevideo until the overlap between the user avatar 802 and shadow 1102increases above the threshold. The stored images may be referred to as avariance sequence.

System 100 may provide the user with feedback on the number of variancesequences collected during athletic movements, and one or more bodyparts involved causing the variance. Display 136 may display each of thevariance sequences to provide the user with feedback on their form.System 100 may also present the virtual trainer avatar 802 to provide anexample of proper form with an enlarged view of the problem area and/orrecommend remedial exercises and/or drills to aid the user in havingproper form.

FIGS. 16A-B illustrate example displays for depicting a user avatarrelative to a virtual shadow for detecting improper form and providingfeedback to a user in accordance with example embodiments. In FIG. 16A,a user avatar 802 is represented by lines positioned within a shadow1102. System 100 may monitor the user's form and look for certain anglesbetween a user's body parts, as well as determining whether the useravatar 802 remains within the shadow 1102. For example, the system 100may monitor an angle between the thigh and shin of the user avatar 802,as well as an angle between a user's torso and thighs. In an example, adesired angle between a user's thigh and shin may be 61.6°, andacceptable form may be within a range of 21° of the desired angle (e.g.,between 50.5° and 72.1°). In FIG. 16B, an angle between the thigh andshin of the user avatar 802 may fall outside of the desired range (e.g.,47°). To emphasize that the user (represented by avatar 802) hasimproper form, the avatar 802 may be displayed as not being completelywithin the shadow 1102. As seen in FIG. 16B, the thigh of the useravatar 802 is outside of the thigh of the shadow 1102. For example,shadow may be defined with an area having an outer perimeter, such asperimeter 1602. Although perimeter 1602 is shown as a single perimeter,those skilled in the art with the benefit of this disclosure willunderstand that shadow 1102 may be comprised of multiple sections orregions, each with their own respective perimeter. Also, the problemarea may be highlighted in the display 136 with an instruction toimprove the user's form. For example, the display 136 may present aninstruction that instructs the user to maintain their thighs parallel tothe ground at the lowest point of a squat. Data received from multiplesensors, which may be variously disposed (including on the user) may beutilized in these and other determinations.

f. Skill Level Determinations

With reference again to FIG. 13A, virtual shadow 1102 may also be usedto signify a skill level of the user. In one example, system 100 mayadjust a size of the virtual shadow 1102 based on a user's ability tomaintain proper form. Computer 102 may determine whether a user is ableto use proper form based on their ability to maintain the user avatar802 within the virtual shadow 1102 while performing an exercise. Thesize of the shadow 1102 may correspond to a skill level of the user inperforming an exercise. For example, in certain implementations, anovice user may begin with a larger virtual shadow. The size of theshadow (or portions thereof) may be reduced until it substantiallyconforms to a virtual size of the user's body.

Initially, system 100 may instruct the user 124 to perform a series ofexercises to assess a user's form for each exercise. For example, eithercontinuously or at a certain discrete points within an exercise, system100 may compare a location of various body parts of the user avatar 802to the shadow 1102. For example, the discrete points may correspond tocertain positions within an exercise where a user's form may beimportant to ensure that a particular a muscle or muscle group is beingworked and/or to prevent or reduce the likelihood of a user injuring himor herself. In one example, computer 102 may determine an amount ofoverlap between the user avatar 802 and the shadow 1102. In an example,computer 102 may also define multiple shadows, where a first shadow is abeginner shadow, a second shadow is an intermediate shadow, and a thirdshadow is an expert shadow. Of course, any number of shadows may bedefined.

System 100 may compare a user's form to each of the three (or more)shadows, for example, by determining an amount of overlap with each. Inone example, at least some of the shadows may be associated with athreshold amount of overlap. The overlap threshold amount may representa minimum amount of overlap with the shadow to have reached the skilllevel for that shadow. For example, the novice shadow may not beassociated with a threshold, the intermediate shadow may be associatedwith an 85% overlap threshold, and the expert shadow may be associatedwith a 90% overlap threshold. Thresholds may be in relation to theentire shadow or with respect to certain regions of it.

To determine that a user has reached a certain skill level, system 100may determine if the amount of overlap between the user avatar 802 and aparticular shadow exceeds the overlap threshold for that shadow. In anexample, system 100 may take calculate the amount of overlap of the useravatar 802 with each of the shadows at certain times during an exerciseor series of athletic movements, and average the overlap amounts. System100 may compare the average to each of the thresholds and assign theuser 124 a particular one of the shadows based on their skill level. Forexample, computer 102 may determine that a user avatar 802 has anaverage overlap amount of 95% with the novice shadow, an average overlapamount of 85% with the intermediate shadow, and a 60% average overlapamount with the expert shadow.

Using the example thresholds above, system 100 may classify the user 124as having an intermediate skill level and display the intermediateshadow when the user subsequently performs that exercise. Computer 102may monitor the user over time and inform the user when their form hasimproved so that they can exercise with a next higher skill levelshadow. System 100 may also move the user to a next lower skill levelshadow if their form declines. Computer 102 may communicate a user'sshadow size and overlap percentage for that shadow to the server 134.For example, the server 134 may provide a social networking website andmay rank users based on their shadow size.

5. Overlap Score Determinations

Further embodiments may include generating a feedback score based on theamount of overlap (see, e.g., block 312 of FIG. 3). In an example,system 100 may generate a feedback score based on how well the usercontrolled the user avatar 802 to correspond to the virtual shadow 1102.For instance, system 100 may provide a scoring algorithm for indicatinghow well the user controlled the user avatar 802 to correspond to thevirtual shadow 1102. A user's score may be uploaded to a social networkor website, such as through server 134, and utilized in the ranking ofusers relative to one another or a standard.

System 100 may monitor a location of individual body parts of the useror groups of body parts, and assign a location score to each body partor body part group based on whether each is in the correct location.With reference to FIG. 8, for example, computer 102 may determine anangle between a straight line across a user's hips and form guidanceinformation 702. Computer 102 may assign an angle score based on theangle between the line of current form information 804 and the line ofform guidance information 702. A smaller angle may correspond to ahigher score. In another example, with reference to FIG. 16B, system 100may assign an angle score based on relative positions of body parts. Forexample, computer 102 may assign an angle score based on comparing anangle between a thigh and shin of a user to a desired angle. Rotation ofa first body part or region with respect to a second body part or regionmay be determined. In one embodiment, one or more sensors may bepositioned or configured to detect the orientation, position, and/ordistance of the user 124 with respect to another object. For example, areference point in the user's environment or on the user may be utilizedto determine relative aspects of the user, including location,movements, rotation, orientation, and combinations thereof.

In another example, with reference to FIGS. 10A-10B, system 100 mayassign a target score if a user is able to place a body part within avirtual target 1002 at one or more time intervals. In yet anotherexample, system 100 may assign an overlap score based on the amount ofoverlap of a user avatar 802 relative to a shadow 1102.

In certain embodiments, system 100 may determine a workout score as asum of the scores. The scores assigned may vary by type of exercise, andsome scores may be weighted more heavily than others. For example, aworkout score may be a weighted sum of one or more angle scores, one ormore virtual target scores, and one or more overlap scores. Scores mayalso be negative. In an example, computer 102 may determine a sum of twoangle scores (e.g., between torso and thigh, and between thigh andshin), a virtual target score, and an overlap score. Computer 102 maycommunicate the total score to the server 134, which may rank the userrelative to other users based on their form during a particular movementor series of movements.

6. Body Systems Feedback

In additional examples, the display 136 may inform the user of bodysystems targeted during athletic activities, such as muscle groupstargeted during an exercise. FIG. 17 illustrates an example displayproviding a user with feedback on muscles being developed by an exercisein accordance with example embodiments. In one embodiment, system 100may process an image of the user 124 and cause the display 136 topresent a grid 1702A/1702B on one or more muscles being developed by anexercise. As seen in FIG. 17, a grid 1702A is displayed proximate to auser's shoulder and arm, and a grid 1702B is displayed proximate to auser's hamstring. Displaying a grid on a user's muscle or muscle groupmay be referred to as “onion-skinning.” Onion skinning may be used tofocus a user's attention on a particular system or region, such as amuscle or muscle group worked during an exercise. System 100 may alsocause the display 136 to present onion skinning on the virtual traineravatar 602 during demonstration of an exercise. After or during aworkout, the user 124 may select the onion skinned location using acomputer mouse or other input device, by making a motion in front of theimage capturing device 126, or by a voice command to instruct computer102, to peel back the avatar's skin to display the muscle working duringthe exercise.

FIG. 18 illustrates an example flow diagram of a method for providingvirtual competition in a virtual environment, such as between multiplevirtual avatars, in accordance with one or more example embodiments.Various methods may be implemented by a computer, such as, for example,computer 102, device 138, 140, 142 and/or 144, and/or other apparatuses.The blocks shown in FIG. 18 may be rearranged, some blocks may beremoved, additional blocks may be added, each block may be repeated oneor more times, and the flow diagram may be repeated one or more times.The flow diagram may begin at block 1802.

In block 1802, one or more embodiments may include prompting a firstuser, such as user 124, to perform at least one exercise during aworkout session. In an example, computer 102 may prompt a user toperform one or more exercises during a workout session. A workoutsession may include a predetermined number of exercises (e.g., pushups,squats, lunges, etc.) where computer 102 prompts the user to perform apredetermined number of repetitions of each exercise. A workout sessionmay also involve a single athletic activity (e.g., run 10 miles).

As part of the workout session, the user 124 may compete against theirprevious performance of the workout session or another user. Forexample, computer 102 may display multiple avatars, where a first useravatar corresponds to their current performance, and a second useravatar corresponds to a previous performance of the workout session.FIG. 19 illustrates an example display of multiple avatars 802 a-bcompeting against one another in a virtual environment.

In another example, a second of the user avatars 802 b may be based ondata obtained from monitoring a second user (e.g., not user 124) duringa workout session. The data may be received from a remote location(e.g., communicated via network 132) or from the same location as thefirst user 124. In an example, the second user may complete a particularworkout session where their computer monitors the second user'sperformance, and cause their computer to send a challenge to computer102 challenging the first user to beat their performance. The challengemay include data of the second user performing the particular workoutsession. In a further example, both users may perform a workout sessionat the same time, where respective computers 102 may monitor each user'sperformance, and exchange data with the other user's computer vianetwork 132 so that each computer can cause display of the other'savatar in a virtual competition.

In block 1804, one or more embodiments may include monitoring with amonitoring device the first user performing the at least one exercise.As discussed above, various monitoring devices, such as, for example,sensors 128, 138, 140, 142, and 144 and/or camera 126, may capture dataof the user performing one or more exercises.

In block 1806, one or more embodiments may include generating a firstvirtual avatar of the first user based on data captured by themonitoring device. As explained throughout this disclosure, multiplesensors may be utilized, either in combination or alone, to monitordata. In one embodiment, computer 102 may generate a virtual avatar 802a of the user based on data captured by one or more of sensors 128, 138,140, 142, 144 and/or camera 126

In block 1808, one or more embodiments may include generating a firstvirtual shadow for the first virtual avatar that is based on attributesrelating to the first user. As discussed above, computer 102 maygenerate a virtual shadow 1102 a. For example, computer 102 may generatea virtual shadow 1102 a having a particular size based on the skilllevel of the user.

In block 1810, one or more embodiments may include receiving second userdata corresponding to a second user for generating a second virtualavatar and a second virtual shadow. In certain implementations, thesecond virtual avatar is based on monitoring of the second userperforming the at least one exercise and the second virtual shadow isbased on attributes relating to the second user. In an example, system100 may receive data captured by monitoring a second user performing thesame exercises in the workout session. The received data may alsoinclude information on a virtual shadow of the second user. The seconduser data may be based on simultaneous performance of the workoutsessions by the users, or may be based on a previously completed workoutsession.

In block 1812, one or more embodiments may include displayingsimultaneously on a display device the first and second virtual avatars802 a-b and the first and second virtual shadows 1002 a-b. In anexample, computer 102 may cause display 136 to simultaneously display avirtual avatar 802 a-b corresponding to each of the users. Display 136may also display a virtual shadow 1102 a-b for each avatar. Computer 102may synchronize the start of the workout session to permit the avatars802 a-b to compete in a virtual environment. In an example, thecompetition may be of a footrace, a race where user's movement causes avehicle to move, weightlifting, jumping, or other type (or combinations)of athletic competition. The virtual environment presented by display136 may correspond to the activity being performed. For example, thevirtual environment may be a track for a footrace, a gym for aweightlifting session, etc.

To provide for competition between the users, computer 102 may score howwell each of the users is able to maintain their virtual avatar 802 a-bwithin their shadow 1102 a-b during the workout session, and may displaythe scores at the end of the session. For instance, computer 102 maygenerate a first score for a first user based on movement of the firstvirtual avatar 802 a relative to the first virtual shadow 1102 a duringthe workout session and a second score for a second user based onmovement of the second virtual avatar 802 b relative to the secondvirtual shadow 1102 b during the workout session. Users may receivepoints by maintaining their user avatar 802 within its shadow 1102, andmay lose points when falling outside of the shadow 1102.

The size of each shadow 1102 a-b may correspond to a skill level of auser. For example, a higher skill level may result in a smaller shadow1102 that is tailored to the shape of the user avatar 802, thus allowinga user less margin for error to maintain their avatar 802 within thevirtual shadow 1102. Conversely, a lower skill level may correspond to alarger shadow 1102 permitting a user a greater margin of error. Computer102 may also apply a handicap to the first virtual shadow 1102 a or thesecond virtual shadow 1102 b based on skill level of the first userrelative to skill level of the second user, so that competitors can bechallenged regardless of each user's actual skill level. To implementthe handicapping, computer 102 may, for example, adjust a size of thefirst virtual shadow 1102 a or the second virtual shadow 1102 b.

At the completion of the workout session, computer 102 may determine ascore for each user, as well as who had a better score (e.g., winner)during the workout session. Computer 102 may also display one or moreperformance metrics for each of the users for comparison based on thetype of exercises being performed. For example, computer 102 may displayan aggregate total (e.g., total number of pushups completed), highestattribute (e.g., fastest speed, greatest distance, etc.), average metric(e.g., average speed), or other athletic performance information. Withreference to FIG. 18, the method may end or return to any of thepreceding blocks.

CONCLUSION

Providing an activity environment having one or more of the featuresdescribed herein may provide a user with an immersive experience thatwill encourage and motivate the user to engage in athletic activitiesand improve his or her fitness. Users may further communicate throughsocial communities and challenge one another to reach various levels offitness, and to view their fitness level and activity.

Aspects of the embodiments have been described in terms of illustrativeembodiments thereof. Numerous other embodiments, modifications andvariations within the scope and spirit of the appended claims will occurto persons of ordinary skill in the art from a review of thisdisclosure. For example, one of ordinary skill in the art willappreciate that the steps illustrated in the illustrative figures may beperformed in other than the recited order, and that one or more stepsillustrated may be optional in accordance with aspects of theembodiments.

What is claimed is:
 1. A computer-implemented method comprising:providing instructions to a user to perform an athletic movement;monitoring with at least a first sensor the user performing the athleticmovement; generating a virtual avatar of the user during the user'sperformance of the athletic movement, the avatar having a firstcontiguous area shaped like a portion of a first human subject, whereinthe first contiguous area comprises at least one sub-area representing abody part of the first human subject; displaying on a display device thevirtual avatar overlaid relative to a virtual shadow, wherein a size ofthe virtual shadow is based, at least in part, according to a skilllevel determined for the user wherein the virtual shadow comprises asecond contiguous area that is larger than the first contiguous area,and shaped like the portion of the first human subject, and the secondcontiguous area comprises at least one sub-area representing the bodypart of the first human subject, wherein the at least one sub-area ofthe virtual shadow is larger than but proportional to the at least onesub-area of the virtual avatar, wherein the virtual shadow is configuredto illustrate a proper form of the athletic movement, such that if thefirst user is performing the proper form of the athletic movement, thenthe first contiguous area is entirely within the second contiguous area;determining, by a processor, an amount of overlap between the virtualavatar and the virtual shadow; and generating a feedback score based on,at least in part, the amount of overlap.
 2. The method of claim 1,further comprising: determining a skill level for the user based on anamount of overlap between the virtual avatar and each of a plurality ofshadow avatars, wherein each of the shadow avatars is associated with athreshold.
 3. The method of claim 1, wherein the monitoring of the usercomprises receiving a plurality of images from an image capture device,and wherein the method further comprises: processing subsections of atleast one image from the plurality of images to determine an amount ofoverlap between the virtual avatar and the virtual shadow within each ofthe subsections.
 4. The method of claim 3, further comprising:identifying a subsection in which the amount of overlap is less than apredetermined threshold.
 5. The method of claim 4, further comprising:displaying a magnification of the identified subsection.
 6. The methodof claim 1, further comprising: communicating the feedback score via anetwork; and ranking the user relative to at least one other user whoperformed the athletic movement.
 7. The method of claim 1, furthercomprising: determining a virtual target score based on a measuringwhether the user moved a body part to coincide with a virtual target,wherein the feedback score is based, at least in part, on the virtualtarget score.
 8. The method of claim 1, further comprising: determiningan angle score based on a comparing an angle between two body parts ofthe user during performance of the athletic movement and a desired anglebetween the two body parts during the athletic movement, wherein thefeedback score is based on the angle score.
 9. The method of claim 1,further comprising: determining an overlap score based on the amount ofoverlap between the virtual avatar and the shadow, wherein the feedbackscore is based on the overlap score.
 10. The method of claim 1, whereinthe feedback score is based on a weighted sum of an angle score, avirtual target score, and an overlap score.
 11. A non-transitorycomputer readable medium comprising computer-executable instructionsthat, when executed, perform a method comprising: providing instructionsto a user to perform an athletic movement; monitoring with at least afirst sensor the user performing the athletic movement; generating avirtual avatar of the user during the user's performance of the athleticmovement, the avatar having a first contiguous area shaped like aportion of a first human subject, wherein the contiguous area comprisesat least one sub-area representing a body part of the first humansubject; generating a virtual shadow comprising a second contiguous areathat is larger than the first contiguous area and is sized based, atleast in part, according to a skill level of the user for the instructedathletic movement, and shaped like the portion of the first humansubject, the second contiguous area comprising at least one sub-arearepresenting the body part of the first human subject, wherein the atleast one sub-area of the virtual shadow is larger than but proportionalto the at least one sub-area of the virtual avatar, and configured toillustrate a proper form of the user's athletic movement such that ifthe first user performs the proper form of the athletic movement, thenthe first contiguous area is entirely within the second contiguous area;displaying on a display device the virtual avatar overlaid relative tothe virtual shadow; determining, by a processor, an amount of overlapbetween the virtual avatar and the virtual shadow; determining a skilllevel for the user based on an amount of overlap between the virtualavatar and each of a plurality of shadow avatars, wherein each of theshadow avatars is associated with a threshold; and generating a feedbackscore based on the amount of overlap.
 12. The computer readable mediumof claim 11, wherein the monitoring of the user comprises receiving aplurality of images from an image capture device, and wherein the methodfurther comprises: processing subsections of at least one image from theplurality of images to determine an amount of overlap between thevirtual avatar and the virtual shadow within each of the subsections.13. The computer readable medium of claim 12, wherein thecomputer-readable medium further comprises instructions that whenexecuted, perform the method comprising: identifying a subsection inwhich the amount of overlap is less than a predetermined threshold; anddisplaying a magnification of the identified subsection.
 14. Thecomputer readable medium of claim 11, wherein the computer-readablemedium further comprises instructions that when executed, perform themethod comprising: determining an angle score based on a comparing anangle between two body parts of the user during performance of theathletic movement and a desired angle between the two body parts duringthe athletic movement, wherein the feedback score is based on the anglescore.
 15. An apparatus comprising: at least one processor; and at leastone non-transitory memory storing instructions that, when executed,cause the apparatus at least to perform: providing instructions to auser to perform an athletic movement; monitoring with at least a firstsensor the user performing the athletic movement; generating a virtualavatar of the user during the user's performance of the athleticmovement, the avatar having a first contiguous area shaped like aportion of a first human subject, wherein the contiguous area comprisesat least one sub-area representing a body part of the first humansubject; displaying on a display device the virtual avatar overlaidrelative to a virtual shadow, comprising a second contiguous area thatis larger than the first contiguous area, and shaped like the portion ofthe first human subject, and the second contiguous area comprising atleast one sub-area representing the body part of the first humansubject, wherein the at least one sub-area of the virtual shadow islarger than the at least one sub-area of the virtual avatar, wherein thevirtual shadow illustrates a proper form of the athletic movement, suchthat if the first user performing the proper form of the athleticmovement, then the first contiguous area is entirely within the secondcontiguous area; determining, by a processor, an amount of overlapbetween the virtual avatar and the virtual shadow; and generating afeedback score based on the amount of overlap, wherein the instructions,when executed, cause the apparatus to determine a skill level based onan amount of overlap between the virtual avatar and each of a pluralityof shadow avatars, wherein each of the shadow avatars is associated witha threshold.
 16. The apparatus of claim 15, wherein the monitoring ofthe user comprises recording of video of the user, and wherein theinstructions, when executed, cause the apparatus to: processingsubsections of at least one image from a plurality of images todetermine an amount of overlap between the virtual avatar and thevirtual shadow within each of the subsections; identifying a subsectionin which the amount of overlap is less than a predetermined threshold;and displaying a magnification of the identified subsection.
 17. Theapparatus of claim 15, wherein the instructions, when executed, causethe apparatus to: determine a virtual target score based on a measuringwhether the user moved a body part to coincide with a virtual target;determine an angle score based on a comparing an angle between two bodyparts of the user and a desired angle between the two body parts; anddetermine an overlap score based on determining an amount of overlapbetween the virtual avatar and the shadow, wherein the feedback score isbased on a weighted sum of the angle score, the virtual target score,and the overlap score.